#include "stdafx.h"
#include "CAppearanceFacade.h"
#include "CAppearance.h"
#include "CAppearanceCloth.h"
#include "CAppearanceHairdo.h"
#include "CAppearanceJewelry.h"
#include "CAppearanceShoes.h"
#include "CAppearanceTattooing.h"

CAppearanceFacade::CAppearanceFacade()
{

}
CAppearanceFacade::~CAppearanceFacade()
{

}
IAppearance* CAppearanceFacade::CreateAppearance(E_APPEARANCE idx)
{
	switch(idx)
	{
	case EA_TYPE1:
		return new CAppearanceShoes(new CAppearanceJewelry(new CAppearanceCloth(new CAppearanceTattooing(new CAppearanceHairdo(new CAppearance(), EHT_TYPE1), ETT_TYPE3), ECT_TYPE2), EJT_TYPE1), EST_TYPE4);
	case EA_TYPE2:
		return new CAppearanceShoes(new CAppearanceJewelry(new CAppearanceCloth(new CAppearanceTattooing(new CAppearanceHairdo(new CAppearance(), EHT_TYPE2), ETT_TYPE1), ECT_TYPE1), EJT_TYPE3), EST_TYPE1);
	case EA_TYPE3:
		return new CAppearanceShoes(new CAppearanceJewelry(new CAppearanceCloth(new CAppearanceTattooing(new CAppearanceHairdo(new CAppearance(), EHT_TYPE3), ETT_TYPE2), ECT_TYPE2), EJT_TYPE5), EST_TYPE5);
	case EA_TYPE4:
		return new CAppearanceShoes(new CAppearanceJewelry(new CAppearanceCloth(new CAppearanceTattooing(new CAppearanceHairdo(new CAppearance(), EHT_TYPE4), ETT_TYPE3), ECT_TYPE3), EJT_TYPE3), EST_TYPE1);
	case EA_TYPE5:
		return new CAppearanceShoes(new CAppearanceJewelry(new CAppearanceCloth(new CAppearanceTattooing(new CAppearanceHairdo(new CAppearance(), EHT_TYPE5), ETT_TYPE2), ECT_TYPE5), EJT_TYPE5), EST_TYPE2);
	case EA_TYPE6:
		return new CAppearanceShoes(new CAppearanceJewelry(new CAppearanceCloth(new CAppearanceTattooing(new CAppearanceHairdo(new CAppearance(), EHT_TYPE3), ETT_TYPE4), ECT_TYPE4), EJT_TYPE4), EST_TYPE3);
	default:
		return 0;
	}
}